Device-to-device communication in an industrial automation environment

ABSTRACT

Techniques to facilitate communication between users in an industrial application associated with an industrial automation environment are disclosed herein. In at least one implementation, a graphical user interface (GUI) associated with the industrial application is displayed on a display system of the computing system. The computing system engages in a peer-to-peer communication session with a remote computing system, wherein the peer-to-peer communication session is displayed within the GUI of the industrial application. Industrial data associated with the industrial application is displayed within the peer-to-peer communication session.

RELATED APPLICATIONS

This application is a continuation of and claims the benefit of andpriority to U.S. patent application Ser. No. 14/723,131 entitled“DEVICE-TO-DEVICE COMMUNICATION IN AN INDUSTRIAL AUTOMATIONENVIRONMENT,” filed on May 27, 2015, which is hereby incorporated byreference in its entirety for all purposes.

TECHNICAL FIELD

Aspects of the disclosure are related to computing hardware and softwaretechnology.

TECHNICAL BACKGROUND

Software applications that run on computing systems commonly providesome type of user client interface to present information to the userand receive user inputs. In a typical client-server architecture, anapplication running on a client computing system receives datatransmitted from a server over a communication network for display tothe user on the user client interface.

Industrial automation environments utilize machines during theindustrial manufacturing process. These machines typically have variousmoving parts and other components that continually produce operationaldata over time, such as pressure, temperature, speed, and other metrics.Reviewing and monitoring this operational data is of high importance tothose involved in operating an industrial enterprise.

In some cases, the operational data may be provided for display on avariety of systems and devices, such as notebook or tablet computersrunning standalone applications, web browsers, and the like, in order topresent the information to the user. For example, a tablet computercould receive a constant stream of the operational data over a networkand display this information dynamically, such as by providing livetiles, icons, charts, trends, and other graphical representations whichcontinually receive updated operational data from external data sources,which are typically located in the industrial automation environment.

OVERVIEW

Techniques to facilitate communication between users in an industrialapplication associated with an industrial automation environment aredisclosed herein. In at least one implementation, a graphical userinterface (GUI) associated with the industrial application is displayedon a display system of the computing system. The computing systemengages in a peer-to-peer communication session with a remote computingsystem, wherein the peer-to-peer communication session is displayedwithin the GUI of the industrial application. Industrial data associatedwith the industrial application is displayed within the peer-to-peercommunication session.

This Overview is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. It should be understood that this Overview is not intendedto identify key features or essential features of the claimed subjectmatter, nor is it intended to be used to limit the scope of the claimedsubject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the disclosure can be better understood with referenceto the following drawings. While several implementations are describedin connection with these drawings, the disclosure is not limited to theimplementations disclosed herein. On the contrary, the intent is tocover all alternatives, modifications, and equivalents.

FIG. 1 is a block diagram that illustrates an operation of acommunication system in an exemplary implementation.

FIG. 2 is a flow diagram that illustrates an operation of a computingsystem in an exemplary implementation.

FIG. 3 is a block diagram that illustrates an operational scenario of acomputing system in an exemplary implementation.

FIG. 4 is a block diagram that illustrates an operational scenario of acomputing system in an exemplary implementation.

FIG. 5 is a block diagram that illustrates an operational scenario of acomputing system in an exemplary implementation.

FIG. 6 is a block diagram that illustrates an operational scenario of acomputing system in an exemplary implementation.

FIG. 7 is a block diagram that illustrates an operational scenarioinvolving a computing system in an industrial automation environment inan exemplary implementation.

FIG. 8 is a block diagram that illustrates a computing system in anexemplary implementation.

DETAILED DESCRIPTION

The following description and associated figures teach the best mode ofthe invention. For the purpose of teaching inventive principles, someconventional aspects of the best mode may be simplified or omitted. Thefollowing claims specify the scope of the invention. Note that someaspects of the best mode may not fall within the scope of the inventionas specified by the claims. Thus, those skilled in the art willappreciate variations from the best mode that fall within the scope ofthe invention. Those skilled in the art will appreciate that thefeatures described below can be combined in various ways to formmultiple variations of the invention. As a result, the invention is notlimited to the specific examples described below, but only by the claimsand their equivalents.

Implementations disclosed herein provide for direct device-to-devicecommunication in industrial automation environments. Most industrialoperations typically generate noise and electrical interference thatadversely effect wireless communications, resulting in varying levels ofconnectivity throughout a plant. In addition, many industrial automationenvironments have not deployed network infrastructure necessary tosupport plant-wide communications. Because of this lack of networkingequipment and the harsh conditions in an industrial setting,communication between individual operators can be difficult. Thetechniques disclosed herein help to overcome these problems by enablingusers to communicate with mobile communication devices, such assmartphones, tablets, laptops, or industrial plant management hardware,without the use of intermediary servers, services, or cloudinfrastructure.

In at least one implementation, a graphical user interface (GUI) of anindustrial application is displayed on a display system of a computingsystem. The computing system wirelessly connects to a remote computingsystem and engages in a peer-to-peer communication session, typicallyfrom within the GUI of the industrial application. Industrial dataassociated with the industrial application may be displayed within thepeer-to-peer communication session, enabling the users to discuss thedata being displayed as it changes in real time. By enabling directdevice-to-device communication between users in an industrialenvironment within the context of industrial applications, the users arebetter able to resolve issues and manage industrial operations.

Referring now to the drawings, FIG. 1 illustrates a communication systemand an operational scenario in which computing systems engage in directdevice-to-device communications. FIG. 2 is a flow diagram thatillustrates a communication process that may be performed by a computingsystem. FIG. 3 illustrates an operational scenario involving a chatsession launched within an incident report in an exemplaryimplementation, while FIG. 4 illustrates an operational scenario of achat feature available within an industrial application in anotherexemplary implementation. FIG. 5 illustrates an operational scenario ofa chat session and industrial data displayed simultaneously in anexemplary implementation, while FIG. 6 illustrates an operationalscenario of a chat session having an industry-specific keyboard inanother exemplary implementation. FIG. 7 illustrates an exemplaryindustrial automation environment that includes a computing system thatmay be used to execute a communication process, and FIG. 8 illustratesan exemplary computing system that may be used to perform any of thecommunication processes and operational scenarios described herein.

Turning now to FIG. 1, an operational scenario of communication system100 is illustrated in an exemplary implementation. Communication system100 includes computing systems 101 and 102. Computing system 101 andcomputing system 102 communicate over communication link 121.

An exemplary operation of communication system 100 is illustrated inFIG. 1. In this example, computing systems 101 and 102 establish directdevice-to-device communication over communication link 121 without theuse of intermediate servers, routers, or other network equipment. Forexample, computing system 101 and 102 could communicate overcommunication link 121 using peer-to-peer networking over Bluetooth,Bluetooth low energy, Wi-Fi Direct, near field communication (NFC), andother wireless protocols. In some implementations, computing systems 101and 102 could be part of a node-based infrastructure in a wireless meshnetwork.

After establishing a direct connection, the users of computing systems101 and 102 engage in a communication session within an industrialapplication. For example, the users could communicate using peer-to-peerchat that is displayed along with other features and functionality of anindustrial application. The communication session is typically displayedwithin the same graphical user interface (GUI) that is associated withthe industrial application. In this manner, the users can communicatedirectly from an industrial application used to monitor and manageindustrial operations, without the use of intermediate networkingequipment. An exemplary operation of computing system 101 will now bedescribed in greater detail with respect to FIG. 2.

FIG. 2 is a flow diagram that illustrates an operation 200 of acomputing system in an exemplary implementation. The operation 200 shownin FIG. 2 may also be referred to as communication process 200 herein.The steps of the operation are indicated below parenthetically. Thefollowing discussion of operation 200 will proceed with reference tocomputing systems 101 and 102 of FIG. 1 in order to illustrate itsoperations, but note that the details provided in FIG. 1 are merelyexemplary and not intended to limit the scope of process 200 to thespecific implementation of FIG. 1.

Operation 200 may be employed to operate a computing system tofacilitate communication between users in an application associated withan industrial automation environment. However, operation 200 could alsobe employed by a computing system to facilitate user communication forany software application irrespective of its purpose or functionality,including a website or webpages provided by a server for viewing in aweb browser, mobile applications for execution on a mobile device,editing and design tools, media players, simulation software, or anyother application.

As shown in the operational flow of process 200, computing system 101wirelessly connects to remote computing system 102 using a peer-to-peerprotocol (201). The peer-to-peer protocol could comprise any wirelessprotocol capable of facilitating direct device-to-device communicationbetween computing systems 101 and 102. For example, computing system 101and 102 could wirelessly connect using peer-to-peer networking overBluetooth, Bluetooth low energy, Wi-Fi Direct, near field communication(NFC), and other wireless protocols. It should be understood thatcomputing system 101 wirelessly connecting to remote computing system102 could be handled by other software components and libraries toestablish the connection, such as operating system functions, hardwaredrivers, and the like. In some implementations, computing systems 101and 102 could be part of a node-based infrastructure in a wireless meshnetwork.

A graphical user interface (GUI) associated with an industrialapplication is displayed on a display system of computing system 101(202). Typically, when the industrial application is launched, either bythe user or an operating system or some other process, the applicationdirects computing system 101 to display the GUI on the display system.The GUI provides the user with an interface to view and interact withgraphical content and other data associated with the industrialapplication that is displayed by computing system 101.

Computing system 101 engages in a peer-to-peer communication sessionwith remote computing system 102, wherein the peer-to-peer communicationsession is displayed within the GUI of the industrial application (203).The peer-to-peer communication session typically comprises a text-basedchat session between the users of computing systems 101 and 102,although alternative forms of communication could also be used,including video, audio, images, and others. The peer-to-peercommunication session could comprise any technique of directcommunication between computing systems 101 and 102 without the use ofadditional servers, switches, routers, or other intermediary networkingequipment. The peer-to-peer communication session is displayed bycomputing system 101 within the GUI of the industrial application, andthus is typically, although not necessarily, incorporated as a featureor module within the industrial application itself. Thus, in someimplementations, the peer-to-peer communication session is launched fromwithin the industrial application. The peer-to-peer communicationsession could also be launched from within an incident report associatedwith the industrial application. In at least one implementation, thepeer-to-peer chat session is also displayed within an instance of theindustrial application running on remote computing system 102. In someimplementations, a user-specific keyboard could also be displayed withinthe peer-to-peer communication session having characters associated witha user's organizational role in the industrial automation environment.

Computing system 101 displays industrial data associated with theindustrial application within the peer-to-peer communication session(204). The industrial data displayed within the communication sessioncould comprise any data for an industrial application associated withthe industrial automation environment. In some examples, the industrialdata could comprise operational data, machine data, screen graphicsdata, screen captures, video data, tag data, alarms, driveconfigurations, key performance indicators (KPIs), charts, trends, andother graphical content, simulation data, or any other data associatedwith an industrial automation environment, including combinationsthereof. In at least one example, the industrial data associated withthe industrial application could comprise a live trend displayingcurrent operational data as it is generated. The industrial data istypically displayed in response to a user request, but the data couldalso be displayed by the industrial application automatically on ascheduled or periodic basis, or in response to alarms and other eventsto notify the user of potential problems. For example, computing system101 could display the industrial data associated with the industrialapplication within the peer-to-peer communication session in response toa user selection of the industrial data for display within thepeer-to-peer communication session.

The industrial data may also be displayed within the peer-to-peercommunication session on remote computing system 102. For example, todisplay the industrial data, computing system 101 could be configured todisplay the industrial data within the peer-to-peer communicationsession on the display system of computing system 101, and transfer theindustrial data to remote computing system 102 for display within thepeer-to-peer communication session on remote computing system 102.Remote computing system 102 could also receive the industrial data fordisplay within the peer-to-peer communication session from other networkresources. For example, an application server (not shown) typicallycollects and retrieves the industrial data for the industrialapplication and transfers the data to computing system 101 and/or 102,but note that the industrial data could be received from variousdifferent systems which may be in geographically diverse locations. Insome examples, the application server could comprise a system locatedon-premise and accessible over a local network connection, or running ina cloud-based environment accessed over a wide area network such as theInternet, or any other deployment scheme, including combinationsthereof. In at least one implementation, the industrial data displayedwithin the peer-to-peer communication session could be stored locallywithin computing system 101 and/or 102. Other system and networkarchitectures are possible and within the scope of this disclosure.

Advantageously, computing systems 101 and 102 can engage in apeer-to-peer communication session within the context of an industrialapplication. By utilizing direct device-to-device communication, theusers of computing systems 101 and 102 are able to communicate even inharsh industrial environments and without intermediate networkingcomponents. Displaying the industrial data associated with theindustrial application within the peer-to-peer communication sessionalso provides valuable context and interactivity to the conversation,thereby facilitating operations management and troubleshooting. Anexample of a graphical user interface provided by an application thatillustrates one possible implementation of the techniques disclosedherein will now be discussed with respect to FIG. 3.

FIG. 3 is a block diagram that illustrates an operational scenario ofcomputing system 300 in an exemplary implementation. Computing system300 includes display system 301 which displays graphical user interface(GUI) 309 of an industrial application. In this example, display system301 comprises a touch screen that displays GUI 309 for the user tointeract with and accepts input commands from the user via the user'stouches on the surface of the touch screen. In FIG. 3, two differentview states are shown displayed on display system 301, labeled 305A and305B. The different view states show the changes that occur to GUI 309as the user makes selections and interacts with GUI 309 and itsassociated application.

In view state 305A, the user has created a new incident report withinthe industrial application. The incident report relates to a problem orissue with industrial operations. In this case, the user has specifiedthe title of the incident as “System Down” and has entered a descriptionof the incident as “System crash. Production line halted.” The user hasalso included a photo image attachment to the incident report. The“Related Information” section indicates that five chat sessions havecommenced related to the incident, there is one related pressure trend,and four related incidents.

At the bottom of GUI 309 on view state 305A, the user is presented withan option to launch a chat session from within the industrialapplication related to the incident report. In this example, the chatoption is provided by the small chat bubble graphical icon appearing onGUI 309, which loads a chat session within the application. The userselects the chat bubble icon, which brings up a chat session as shown inview state 305B.

View state 305B illustrates an exemplary chat session window that isdisplayed within the context of the incident report in the industrialapplication. In some implementations, when selecting the chat option,the user is prompted to identify a target user or users for the chatsession, and the industrial application would responsively directcomputing system 300 to connect directly to the mobile devices of thetarget users over a peer-to-peer protocol to establish directdevice-to-device communication. As illustrated in view state 305B, thetitle of the incident, “System Down”, is displayed at the top of thechat session. The chat session is also displayed within GUI 309 of theindustrial application, which beneficially ensures that the context ofthe incident in the industrial application is not lost, and the userdoes not need to close the industrial application or load an additionalapplication to engage in the chat session. An exemplary implementationof another communication process associated with industrial applicationswill now be discussed with respect to FIG. 4.

FIG. 4 is a block diagram that illustrates an operational scenario ofcomputing system 400 in an exemplary implementation. In FIG. 4, twodifferent view states are shown displayed on display system 401, labeled405A and 405B. In view state 405A, computing system 400 executes anindustrial application which generates graphical content in the form ofGUI 409 for display on display system 401. In particular, GUI 409 isassociated with an industrial application catalog that allows the userto view and select from new software releases and updates. Within theapplication catalog application, the user “Tom” has launched a chatsession to inquire about a new human-machine interface (HMI) softwarerelease. When selecting the chat option from within the applicationcatalog, the user could select the target users for the chat session, orthe application could attempt to connect to the devices of any userswithin range of computing system 400 in some examples. Regardless of howthe target users for the chat session are selected, computing system 400engages in a chat session with at least one other mobile computingdevice using direct device-to-device communication. In this example,user “Joe” has responded to the request by providing a link to the newHMI software knowledge base. Tom then clicks the “Open Article” linkthat Joe provided in his chat response, which results in computingsystem 400 loading GUI 410 of the HMI software application knowledgebase as shown in view state 405B.

View state 405B illustrates a different industrial application than theapplication catalog that was previously displayed on display system 401of computing system 400 in view state 405A. In particular, view state405B depicts computing system 400 executing an HMI software applicationwhich generates graphical content in the form of GUI 410 for display ondisplay system 401. GUI 410 is associated with a knowledge base for theHMI software application, which provides documentation for the softwareand known issues. In this example, the “Documentation” tab is selected,which provides a Quick Start, User Guide, Troubleshooter, ProductProfile, and Technical Data for the HMI software application. At thebottom of GUI 410, the user is provided with a chat feature within theHMI software application. The user can select the chat feature fromwithin the application in order to discuss any questions or issuesrelated to the HMI software application with other users of theapplication while remaining within the context of the application. Anexemplary implementation of a chat session that includes industrial datawithin the session will now be discussed with respect to FIG. 5.

FIG. 5 is a block diagram that illustrates an operational scenario ofcomputing system 500 in an exemplary implementation. Computing system500 includes display system 501 which displays GUI 509 of an industrialapplication. In this example, the industrial application associated withGUI 509 comprises a network performance monitor application. Within theapplication, a chat session has been established between two users, Joeand Paul. The users are able to insert industrial data for displaywithin the chat session. In some implementations, an industrialapplication may initially display industrial data and a chat sessioncould be loaded alongside that data. In this example, Joe has included atrend diagram within the chat session that shows live data of thenetwork performance in real time. Both Joe and Paul are able to view thelive graph in real time within the chat session on their respectivemobile computing devices, which provides the benefit of enabling theseusers to discuss the drop in network performance as it happens in realtime. An exemplary implementation of a chat session that includes anindustry-specific keyboard will now be discussed with respect to FIG. 6.

FIG. 6 is a block diagram that illustrates an operational scenario ofcomputing system 600 in an exemplary implementation. Computing system600 includes display system 601 which displays GUI 609 of an industrialapplication. In this example, a user is engaging in a chat session withanother user from within the industrial application. Anindustry-specific keyboard is illustrated at the bottom of GUI 609,which provides the user with a library of industrial automation-specificimages, fonts, and symbols for use in the chat session. In someimplementations, the keyboard could be unique to the user, providingcharacters and symbols associated with the user's organizational role inan industrial automation environment. In at least one implementation,the keyboard for the chat session could be associated with theindustrial application within which the chat session is occurring,thereby offering functions, symbols, and characters associated with thatparticular industrial application. In this manner, users are able tochat within the context of a particular industrial application, and haveaccess to industry-specific characters, fonts, symbols, operators, andthe like for use within the chat session.

Referring back to FIG. 1, computing systems 101 and 102 each separatelycomprise a processing system and communication transceiver. Computingsystems 101 and 102 may also include other components such as a userinterface, data storage system, and power supply. Computing systems 101and 102 may each reside in a single device or may be distributed acrossmultiple devices. Examples of computing systems 101 and 102 includemobile computing devices, such as cell phones, tablet computers, laptopcomputers, notebook computers, and gaming devices, as well as any othertype of mobile computing devices and any combination or variationthereof. Examples of computing systems 101 and 102 also include desktopcomputers, server computers, and virtual machines, as well as any othertype of computing system, variation, or combination thereof. In someimplementations, computing systems 101 and 102 could comprise mobiledevices capable of operating in a server-like fashion which, among otheruses, could be utilized in a wireless mesh network.

Communication link 121 uses metal, air, space, optical fiber such asglass or plastic, or some other material as the transportmedium—including combinations thereof. Communication link 121 could usevarious communication protocols, such as time-division multiplexing(TDM), Internet Protocol (IP), Ethernet, telephony, optical networking,wireless mesh networks (WMN), communication signaling, wirelessprotocols such as peer-to-peer networking over Bluetooth, Bluetooth lowenergy, Wi-Fi Direct, near field communication (NFC), or some othercommunication format, including combinations thereof.

Turning now to FIG. 7, a block diagram that illustrates an industrialautomation environment 700 in an exemplary implementation is shown.Industrial automation environment 700 provides an example of anindustrial automation environment that may be utilized to implement thecommunication processes disclosed herein, but other environments couldalso be used. Industrial automation environment 700 includes computingsystem 710, machine system 720, industrial controller 725, databasesystem 730, and application integration platform 735. Machine system 720and controller 725 are in communication over a communication link,controller 725 and database system 730 communicate over a communicationlink, database system 730 and application integration platform 735communicate over a communication link, and application integrationplatform 735 and computing system 710 are in communication over acommunication link. Note that there would typically be many more machinesystems in most industrial automation environments, but the number ofmachine systems shown in FIG. 7 has been restricted for clarity.

Industrial automation environment 700 comprises an automobilemanufacturing factory, food processing plant, oil drilling operation,microprocessor fabrication facility, or some other type of industrialenterprise. Machine system 720 could comprise a sensor, drive, pump,filter, drill, motor, robot, fabrication machinery, mill, printer, orany other industrial automation equipment, including their associatedcontrol systems. A control system comprises, for example, industrialcontroller 725, which could include automation controllers, programmablelogic controllers (PLCs), programmable automation controllers (PACs), orany other controllers used in automation control. Additionally, machinesystem 720 could comprise other industrial equipment, such as a brewkettle in a brewery, a reserve of coal or other resources, or any otherelement that may reside in an industrial automation environment 700.

Machine system 720 continually produces operational data over time. Theoperational data indicates the current status of machine system 720,such as parameters, pressure, temperature, speed, energy usage,operational equipment effectiveness (OEE), mean time between failure(MTBF), mean time to repair (MTTR), voltage, throughput volumes, times,tank levels, or any other performance status metrics. The operationaldata may comprise dynamic charts or trends, real-time video, or someother graphical content. Machine system 720 and/or controller 725 iscapable of transferring the operational data over a communication linkto database system 730, application integration platform 735, andcomputing system 710, typically via a communication network. Databasesystem 730 could comprise a disk, tape, integrated circuit, server, orsome other memory device. Database system 730 may reside in a singledevice or may be distributed among multiple memory devices.

Application integration platform 735 comprises a processing system and acommunication transceiver. Application integration platform 735 may alsoinclude other components such as a router, server, data storage system,and power supply. Application integration platform 735 may reside in asingle device or may be distributed across multiple devices. Applicationintegration platform 735 may be a discrete system or may be integratedwithin other systems—including other systems within industrialautomation environment 700. In some examples, application integrationplatform 735 could comprise a FactoryTalk® VantagePoint server systemprovided by Rockwell Automation, Inc.

The communication links over which data is exchanged between machinesystem 720, industrial controller 725, database system 730, applicationintegration platform 735, and communication interface 708 of computingsystem 710 could use metal, air, space, optical fiber such as glass orplastic, or some other material as the transport medium—includingcombinations thereof. The communication links could comprise multiplenetwork elements such as routers, gateways, telecommunication switches,servers, processing systems, or other communication equipment andsystems for providing communication and data services. Thesecommunication links could use various communication protocols, such asTDM, IP, Ethernet, telephony, optical networking, packet networks,wireless mesh networks (WMN), local area networks (LAN), metropolitanarea networks (MAN), wide area networks (WAN), hybrid fiber coax (HFC),communication signaling, wireless protocols, communication signaling,peer-to-peer networking over Bluetooth, Bluetooth low energy, Wi-FiDirect, near field communication (NFC), or some other communicationformat, including combinations thereof. The communication links could bedirect links or may include intermediate networks, systems, or devices.

Computing system 710 may be representative of any computing apparatus,system, or systems on which the display processes disclosed herein orvariations thereof may be suitably implemented. Computing system 710provides an example of a computing system that could be used as a eithera server or a client device in some implementations, although suchdevices could have alternative configurations. Examples of computingsystem 710 include mobile computing devices, such as cell phones, tabletcomputers, laptop computers, notebook computers, and gaming devices, aswell as any other type of mobile computing devices and any combinationor variation thereof. Examples of computing system 710 also includedesktop computers, server computers, and virtual machines, as well asany other type of computing system, variation, or combination thereof.In some implementations, computing system 710 could comprise a mobiledevice capable of operating in a server-like fashion which, among otheruses, could be utilized in a wireless mesh network.

Computing system 710 includes processing system 701, storage system 703,software 705, communication interface 708, and user interface 709.Processing system 701 is operatively coupled with storage system 703,communication interface 708, and user interface 709. Processing system701 loads and executes software 705 from storage system 703. Software705 includes application 706 and operating system 707. Application 706may include communication process 200 in some examples. When executed bycomputing system 710 in general, and processing system 701 inparticular, software 705 directs computing system 710 to operate asdescribed herein for communication process 200 or variations thereof. Inthis example, user interface 709 includes display system 711, whichitself may be part of a touch screen that also accepts user inputs viatouches on its surface. Computing system 710 may optionally includeadditional devices, features, or functionality not discussed here forpurposes of brevity.

Turning now to FIG. 8, a block diagram is shown that illustratescomputing system 800 in an exemplary implementation. Computing system800 provides an example of computing systems 101, 300, 400, 500, 600, orany computing system that may be used to execute communication process200 or variations thereof, although such systems could use alternativeconfigurations. Computing system 800 includes processing system 801,storage system 803, software 805, communication interface 807, and userinterface 809. User interface 809 comprises display system 808. Software805 includes application 806 which itself includes communication process200. Communication process 200 may optionally be implemented separatelyfrom application 806.

Computing system 800 may be representative of any computing apparatus,system, or systems on which application 806 and communication process200 or variations thereof may be suitably implemented. Examples ofcomputing system 800 include mobile computing devices, such as cellphones, tablet computers, laptop computers, notebook computers, andgaming devices, as well as any other type of mobile computing devicesand any combination or variation thereof. Note that the features andfunctionality of computing system 800 may apply as well to desktopcomputers, server computers, and virtual machines, as well as any othertype of computing system, variation, or combination thereof.

Computing system 800 includes processing system 801, storage system 803,software 805, communication interface 807, and user interface 809.Processing system 801 is operatively coupled with storage system 803,communication interface 807, and user interface 809. Processing system801 loads and executes software 805 from storage system 803. Whenexecuted by computing system 800 in general, and processing system 801in particular, software 805 directs computing system 800 to operate asdescribed herein for communication process 200 or variations thereof.Computing system 800 may optionally include additional devices,features, or functionality not discussed herein for purposes of brevity.

Referring still to FIG. 8, processing system 801 may comprise amicroprocessor and other circuitry that retrieves and executes software805 from storage system 803. Processing system 801 may be implementedwithin a single processing device but may also be distributed acrossmultiple processing devices or sub-systems that cooperate in executingprogram instructions. Examples of processing system 801 include generalpurpose central processing units, application specific processors, andlogic devices, as well as any other type of processing device,combinations, or variations thereof.

Storage system 803 may comprise any computer readable media or storagemedia readable by processing system 801 and capable of storing software805. Storage system 803 may include volatile and nonvolatile, removableand non-removable media implemented in any method or technology forstorage of information, such as computer readable instructions, datastructures, program modules, or other data. Storage system 803 may beimplemented as a single storage device but may also be implementedacross multiple storage devices or sub-systems co-located or distributedrelative to each other. Storage system 803 may comprise additionalelements, such as a controller, capable of communicating with processingsystem 801. Examples of storage media include random access memory, readonly memory, magnetic disks, optical disks, flash memory, virtual memoryand non-virtual memory, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and that may be accessed by aninstruction execution system, as well as any combination or variationthereof, or any other type of storage media. In no case is the storagemedia a propagated signal.

In operation, in conjunction with user interface 809, processing system801 loads and executes portions of software 805, such as communicationprocess 200, to render a graphical user interface for application 806for display by display system 808 of user interface 809. Software 805may be implemented in program instructions and among other functionsmay, when executed by computing system 800 in general or processingsystem 801 in particular, direct computing system 800 or processingsystem 801 to wirelessly connect to a remote computing system using apeer-to-peer protocol. Software 805 may further direct computing system800 or processing system 801 to display a graphical user interface (GUI)associated with an industrial application on display system 808 ofcomputing system 800. In addition, software 805 directs computing system800 or processing system 801 to engage in a peer-to-peer communicationsession with the remote computing system, wherein the peer-to-peercommunication session is displayed within the GUI of the industrialapplication. Finally, software 805 may direct computing system 800 orprocessing system 801 to display industrial data associated with theindustrial application within the peer-to-peer communication session.

Software 805 may include additional processes, programs, or components,such as operating system software or other application software.Examples of operating systems include Windows®, iOS®, and Android®, aswell as any other suitable operating system. Software 805 may alsocomprise firmware or some other form of machine-readable processinginstructions executable by processing system 801.

In general, software 805 may, when loaded into processing system 801 andexecuted, transform computing system 800 overall from a general-purposecomputing system into a special-purpose computing system customized tofacilitate communication between users in an industrial application asdescribed herein for each implementation. For example, encoding software805 on storage system 803 may transform the physical structure ofstorage system 803. The specific transformation of the physicalstructure may depend on various factors in different implementations ofthis description. Examples of such factors may include, but are notlimited to the technology used to implement the storage media of storagesystem 803 and whether the computer-readable storage media arecharacterized as primary or secondary storage.

In some examples, if the computer-readable storage media are implementedas semiconductor-based memory, software 805 may transform the physicalstate of the semiconductor memory when the program is encoded therein.For example, software 805 may transform the state of transistors,capacitors, or other discrete circuit elements constituting thesemiconductor memory. A similar transformation may occur with respect tomagnetic or optical media. Other transformations of physical media arepossible without departing from the scope of the present description,with the foregoing examples provided only to facilitate this discussion.

It should be understood that computing system 800 is generally intendedto represent a computing system with which software 805 is deployed andexecuted in order to implement application 806 and/or communicationprocess 200 (and variations thereof). However, computing system 800 mayalso represent any computing system on which software 805 may be stagedand from where software 805 may be distributed, transported, downloaded,or otherwise provided to yet another computing system for deployment andexecution, or yet additional distribution. For example, computing system800 could be configured to deploy software 805 over the internet to oneor more client computing systems for execution thereon, such as in acloud-based deployment scenario.

Communication interface 807 may include communication connections anddevices that allow for communication between computing system 800 andother computing systems (not shown) or services, over a communicationnetwork 811 or collection of networks. In some implementations,communication interface 807 receives dynamic data 821 over communicationnetwork 811. Examples of connections and devices that together allow forinter-system communication may include network interface cards,antennas, power amplifiers, RF circuitry, transceivers, and othercommunication circuitry. The aforementioned network, connections, anddevices are well known and need not be discussed at length here.

User interface 809 may include a voice input device, a touch inputdevice for receiving a gesture from a user, a motion input device fordetecting non-touch gestures and other motions by a user, and othercomparable input devices and associated processing elements capable ofreceiving user input from a user. Output devices such as display system808, speakers, haptic devices, and other types of output devices mayalso be included in user interface 809. The aforementioned user inputdevices are well known in the art and need not be discussed at lengthhere. User interface 809 may also include associated user interfacesoftware executable by processing system 801 in support of the varioususer input and output devices discussed above. Separately or inconjunction with each other and other hardware and software elements,the user interface software and devices may provide a graphical userinterface, a natural user interface, or any other kind of userinterface.

The functional block diagrams, operational sequences, and flow diagramsprovided in the Figures are representative of exemplary architectures,environments, and methodologies for performing novel aspects of thedisclosure. While, for purposes of simplicity of explanation, methodsincluded herein may be in the form of a functional diagram, operationalsequence, or flow diagram, and may be described as a series of acts, itis to be understood and appreciated that the methods are not limited bythe order of acts, as some acts may, in accordance therewith, occur in adifferent order and/or concurrently with other acts from that shown anddescribed herein. For example, those skilled in the art will understandand appreciate that a method could alternatively be represented as aseries of interrelated states or events, such as in a state diagram.Moreover, not all acts illustrated in a methodology may be required fora novel implementation.

The above description and associated drawings teach the best mode of theinvention. The following claims specify the scope of the invention. Someaspects of the best mode may not fall within the scope of the inventionas specified by the claims. Also, while the preceding discussiondescribes embodiments employed specifically in conjunction with themonitoring and analysis of industrial processes, other applications,such as the mathematical modeling or monitoring of any man-made ornaturally-existing system, may benefit from use of the conceptsdiscussed above. Further, those skilled in the art will appreciate thatthe features described above can be combined in various ways to formmultiple variations of the invention. As a result, the invention is notlimited to the specific embodiments described above, but only by thefollowing claims and their equivalents.

What is claimed is:
 1. One or more computer-readable storage mediahaving program instructions stored thereon to facilitate communicationbetween users in an industrial application associated with an industrialautomation environment, wherein the program instructions, when executedby a computing system, direct the computing system to at least: displaya graphical user interface (GUI) associated with the industrialapplication on a display system of the computing system; engage in apeer-to-peer communication session with a remote computing system,wherein the peer-to-peer communication session is displayed within theGUI of the industrial application; and display industrial dataassociated with the industrial application within the peer-to-peercommunication session.
 2. The one or more computer-readable storagemedia of claim 1 wherein the peer-to-peer communication session islaunched from within the industrial application.
 3. The one or morecomputer-readable storage media of claim 1 wherein the peer-to-peercommunication session is launched from within an incident reportassociated with the industrial application.
 4. The one or morecomputer-readable storage media of claim 1 wherein the programinstructions direct the computing system to display the industrial dataassociated with the industrial application within the peer-to-peercommunication session by directing the computing system to display theindustrial data within the peer-to-peer communication session on thedisplay system and transfer the industrial data to the remote computingsystem for display within the peer-to-peer communication session on theremote computing system.
 5. The one or more computer-readable storagemedia of claim 1 wherein the industrial data associated with theindustrial application comprises a live trend displaying currentoperational data as it is generated.
 6. The one or morecomputer-readable storage media of claim 1 wherein the programinstructions further direct the computing system to display auser-specific keyboard within the peer-to-peer communication sessionhaving characters associated with a user's organizational role in theindustrial automation environment.
 7. The one or more computer-readablestorage media of claim 1 wherein the program instructions direct thecomputing system to display the industrial data associated with theindustrial application within the peer-to-peer communication session bydirecting the computing system to display the industrial data associatedwith the industrial application in response to a user selection of theindustrial data for display within the peer-to-peer communicationsession.
 8. A method of operating a computing system to facilitatecommunication between users in an industrial application associated withan industrial automation environment, the method comprising: displayinga graphical user interface (GUI) associated with the industrialapplication on a display system of the computing system; engaging in apeer-to-peer communication session with a remote computing system,wherein the peer-to-peer communication session is displayed within theGUI of the industrial application; and displaying industrial dataassociated with the industrial application within the peer-to-peercommunication session.
 9. The method of claim 8 wherein the peer-to-peercommunication session is launched from within the industrialapplication.
 10. The method of claim 8 wherein the peer-to-peercommunication session is launched from within an incident reportassociated with the industrial application.
 11. The method of claim 8wherein displaying the industrial data associated with the industrialapplication within the peer-to-peer communication session comprisesdisplaying the industrial data within the peer-to-peer communicationsession on the display system and transferring the industrial data tothe remote computing system for display within the peer-to-peercommunication session on the remote computing system.
 12. The method ofclaim 8 wherein the industrial data associated with the industrialapplication comprises a live trend displaying current operational dataas it is generated.
 13. The method of claim 8 further comprisingdisplaying a user-specific keyboard within the peer-to-peercommunication session having characters associated with anorganizational role of a user in the industrial automation environment.14. The method of claim 8 wherein displaying the industrial dataassociated with the industrial application within the peer-to-peercommunication session comprises displaying the industrial dataassociated with the industrial application in response to a userselection of the industrial data for display within the peer-to-peercommunication session.
 15. An apparatus to facilitate communicationbetween users in an industrial application associated with an industrialautomation environment, the apparatus comprising: one or morecomputer-readable storage media; and program instructions stored on theone or more computer-readable storage media that, when executed by acomputing system, direct the computing system to at least: display agraphical user interface (GUI) associated with the industrialapplication on a display system of the computing system; engage in apeer-to-peer communication session with a remote computing system usingthe peer-to-peer protocol, wherein the peer-to-peer communicationsession is displayed within the GUI of the industrial application; anddisplay industrial data associated with the industrial applicationwithin the peer-to-peer communication session.
 16. The apparatus ofclaim 15 wherein the peer-to-peer communication session is launched fromwithin the industrial application.
 17. The apparatus of claim 15 whereinthe peer-to-peer communication session is launched from within anincident report associated with the industrial application.
 18. Theapparatus of claim 15 wherein the program instructions direct thecomputing system to display the industrial data associated with theindustrial application within the peer-to-peer communication session bydirecting the computing system to display the industrial data within thepeer-to-peer communication session on the display system and transferthe industrial data to the remote computing system for display withinthe peer-to-peer communication session on the remote computing system.19. The apparatus of claim 15 wherein the industrial data associatedwith the industrial application comprises a live trend displayingcurrent operational data as it is generated.
 20. The apparatus of claim15 wherein the program instructions further direct the computing systemto display a user-specific keyboard within the peer-to-peercommunication session having characters associated with a user'sorganizational role in the industrial automation environment.